本文是学习GB-T 35008-2018 串行NOR型快闪存储器接口规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
本标准规定了串行或非(NOR)
型快闪存储器(以下称为器件)的物理接口、存储阵列架构、指令定
义和参数表说明等。
本标准适用于地址为24位的串行NOR 型快闪存储器的设计和使用。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 17574—1998 半导体器件 集成电路 第2部分:数字集成电路
GB/T 17574—1998界定的以及下列术语和定义适用于本文件。
3.1
状态寄存器 status register
存储器内部标志内部状态的寄存器。
器件引出端功能定义见表1。
表 1 引出端功能定义
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 35008—2018
单端口模式配备4个信号端口,即SCLK,CS#,SI,SO。
输入数据在时钟上升沿采样,输出数据在
时钟下降沿输出。此模式支持 HOLD# 保持功能和 WP# 写保护功能。
双端口传输模式下数据传输速度是单端口模式的两倍。配备4个信号端口,即
SCLK,CS#,SI/
SIO0,SO/SIO1。 此模式支持 HOLD# 保持功能和 WP# 写保护功能。
双端口传输模式为可选模式。
四端口传输模式下数据传输速度是单端口模式的四倍。配备6个信号端口,即
SCLK,CS#,SI/
SIO0,SO/SIO1,WP#/SIO2,HOLD#/SIO3。 由于 HOLD# 和 WP#
被作为数据端,所以此模式不
再支持 HOLD# 保持功能和 WP# 写保护功能。
四端口传输模式通过设置寄存器 QE 实现,见5.2。当 QE
被设置为1后,所有四端口传输模式指
令均可直接启动四端口传输模式。
四端口传输模式为可选模式。
单端口模式与双端口传输模式通过对应的指令直接转换。四端口传输模式通过设置寄存器
QE 实
现。当QE 被设置为1后,所有四端口传输模式指令均可直接启动四端口传输模式。
HOLD# 保持功能只在单端口模式和双端口串口模式下有效。 HOLD#
信号驱动为低电平后,任
何通过串口与器件端口的通信都会被保持。如此时器件内部由于读写擦等动作处于忙状态,内部状态
将不会被保持。
保持功能要求CS# 保持为低电平,HOLD#
驱动为低电平,之后应等到时钟首次为低电平,保持功
能开启。如时钟不为低电平,则等到时钟为低电平时开启保持功能。当 HOLD#
驱动为高电平后,应
等到时钟首次为低电平,保持功能结束。 HOLD#
保持功能启动时,数据输出端为高阻,数据输入和时
钟无效,如 CS#
在保持功能有效期间驱动为高电平,保持功能结束。如要与器件重新通信,HOLD#
应
驱动为高电平,并且CS# 应为低电平。 HOLD# 保持功能条件如图1所示。
HOLD# 保持功能为可选功能。
style="width:11.67995in;height:2.72646in" />CS 开
SCIK
HOLD=/S1O3
保持
图 1 HOLD# 保持功能
GB/T 35008—2018
在单端口模式和双端口传输模式下,WP# 信号驱动为低电平后,如保护位 BRWD
为1,则块保护
位(BP0,BP1,BP2, 和 INV,CMP) 将被锁定而不能修改,两信号应同时具备。
WP# 写保护功能为可选功能。
存储阵列架构如图2所示。存储阵列由一个或多个面块组成,
一个面块由多个块组成, 一个块由多
个扇区组成, 一个扇区由多个页组成。页是最小的读、写单元。
style="width:9.38681in;height:6.52708in" />style="height:0.1133in" />
图 2 存储阵列架构图
状态寄存器用于记录器件当前的工作状态和控制模式,器件配置的状态寄存器位定义见表2。
表 2 状态寄存器位定义
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
状态寄存器中各个状态位的描述见表3。
GB/T 35008—2018
表 3 状态寄存器位描述
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
器件应提供如下数据保护模式:
a) 写使能指令:该指令设置写使能锁存位(WEL)。
当出现上电、写失效、写状态寄存器、页编程、 擦除情况时,WEL 会被复位。
b)
软件保护模式:块保护的方式通过设置寄存器实现。块保护位(BP4、BP3、BP2、BP1
和 BP0) 定义了可读取但不能改变的存储器阵列区域,参照附录 A。
当某个块处于写保护范围内时,任 何对该块的编程和擦除操作都不被执行。
c) 硬件保护模式:WP# 驱动为低电平以保护BP0 位~BP4 位和 SRP 位。
d)
深度休眠模式:在深度休眠模式下,除了从深度休眠模式下退出的指令外,所有的指令都无效。
器件遇到特殊情况可启动自毁功能。自毁之后,不再接收任何指令,此模式永久生效。器件自毁功
能的时序见6.2.30。
自毁功能为可选功能。
GB/T 35008—2018
所有的指令、地址和数据,都是在CS# 为低电平后SCLK
的上升沿,从最高有效位开始输入和输出
器件。将一个字节指令代码输入到器件,最高有效位首先在SI 端,每位在 SCLK
的上升沿时锁存。
每一个指令序列都以一个字节的指令代码开始。根据指令不同,后面可能是地址字节、数据字节,
或者两者都有,或者都没有。当指令序列的最后一位输入完成后,CS#
应驱动为高电平。对于读、快速
读、读状态寄存器、从深度休眠模式恢复、读器件标识等指令,输入的指令序列后跟随着数据输出序列,
数据输出序列中的任何位被移出后CS#
均可被驱动为高电平。对于页编程、扇区擦除、块擦除、全器件
擦除、写状态寄存器、写使能、写禁止、深度休眠等指令,CS#
应在一个字节指令后驱动为高电平,否则 指令不执行。即CS#
为低电平后,时钟脉冲是八的整数倍时,CS# 应驱动为高电平。对于页编程,如
再输入不是一个完整的字节时CS# 被驱动为高电平, WEL
将不会被复位。指令集见表4。
表 4 指令集
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
|
|
||||||
|
|
||||||
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
|
GB/T 35008—2018
表 4 ( 续 )
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
||||||
|
|
|
|
||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
GB/T 35008—2018
表 4 ( 续 )
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|
|
写使能(06H) 是为了设置写使能锁存位 WEL,
在页编程、扇区擦除、块擦除、全器件擦除、写状态寄
存器、擦除/编程安全寄存器前,应先设置 WEL 位。06H 指令时序如图3所示。
style="width:5.64654in;height:2.6268in" />
图 3 06H 指令时序图
写禁止(04H) 是为了复位写使能锁存位 WEL。WEL 位在下列情况下会被复位:
——写状态寄存器完成后,掉电复位并再次上电后;
—
在页编程、扇区擦除、块擦除、全器件擦除、擦除/编程安全寄存器、复位指令完成后。
GB/T 35008—2018
style="width:5.57998in;height:2.6532in" />
图 4 04H 指令时序图
6.2.3 读状态寄存器(05H/35H)
读状态寄存器(05H/35H)
用来读状态寄存器中的内容。即使正在进行编程、擦除或写状态寄存
器,也可随时读状态寄存器。当一个循环周期中,推荐在发送新的指令前检查写进行位(WIP)。
读状态 寄存器指令也可连续读状态寄存器。指令代码05H,SO 端将输出状态寄存器
S7~S0 的内容;指令代
码35H,SO 端将输出状态寄存器 S15~S8 的内容。05H/35H 指令时序如图5所示。
style="width:8.74002in;height:3.32002in" />
图 5 05H/35H 指令时序图
写状态寄存器(01H)
可为状态寄存器写入新内容。器件接收写状态寄存器指令前,应先执行写使
能指令。当写使能指令被解码和执行后,器件设置了写使能锁存位(WEL)。
写状态寄存器指令对状态寄存器的 S15、S1、S0
没有影响。当数据字节的第8位或第16位被锁存 后,CS#
应驱动为高电平,否则不执行写状态寄存器指令。 CS#
在数据字节的第八位驱动为高电平后, CMP 和 QE 位被清为0。 一旦CS#
驱动为高电平,定时写状态寄存器循环启动。当写状态寄存器周期
进行时,仍然可读状态寄存器的写进行位(WIP)
的值。在定时写状态寄存器循环内,WIP=1, 周期完成
时 WIP=0。 当循环完成后,写使能锁存(WEL) 被复位。
写状态寄存器指令允许用户改变块保护位的内容(BP4、BP3、BP2、BP1、BP0),以定义只读区域的
大小。写状态寄存器指令还允许用户按写保护信号(WP#)
设置或复位状态寄存器保护位(SRP1)。 状 态寄存器保护位(SRP)
和写保护信号(WP#) 让器件处于硬件保护模式。当进入硬件保护模式时,不执
行写状态寄存器指令。01H 指令时序如图6所示。
GB/T 35008—2018
style="width:8.53329in;height:3.18648in" />
图 6 01H 指令时序图
6.2.5 易失性状态寄存器写使能(50H)
易失性状态寄存器的写使能(50H)
应在写状态寄存器指令之前发出。易失性状态寄存器写使能指
令不设置写使能锁存位,他只适用于用写状态寄存器指令改变易失性状态寄存器的内容。50H
指令时
序如图7所示。
style="width:7.10675in;height:3.28658in" />
图 7 50H 指令时序图
读数据(03H) 后跟3字节地址(A23~A0), 每一位在 SCLK
的上升沿时被锁存。存储器中该地址 的数据在SCLK 的下降沿以 fR 的频率从 SO
端输出。第一个字节的地址可在任何位置,当一个字节的
数据输出后,地址自动递增到下一个较高地址。因此,通过读数据指令就能读取整个存储器。当进行擦
除、编程或写操作时,任何读取数据指令都被拒绝,而对正在进行的循环没有任何影响。03H
指令时序
如图8所示。
style="width:11.69994in;height:2.93326in" />
最高有效位
图 8 03H 指令时序图
GB/T 35008—2018
快速读数据(0BH) 后面跟3字节的地址(A23~A0) 和一个冗余字节,每一位在 SCLK
的上升沿时 锁存。存储器中该地址的数据,在SCLK 的下降沿以最高频率 fC 从
SO 端输出,0BH 指令时序如图9
所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较高地址。
style="width:8.65994in;height:5.7002in" />
图 9 0BH 指令时序图
6.2.8 双端口输出快速读数据(3BH)
双端口输出快速读数据(3BH) 后面跟3字节地址(A23~A0)
和一个冗余字节,每一位在 SCLK 的
上升沿时锁存。存储器中该地址的数据在每个时钟周期内通过 SI 和 SO
端共输出2位。3BH 指令时
序如图10所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个
较高地址。
style="width:8.77322in;height:5.48658in" />
最高有效位 最高有效位
图10 3BH 指令时序图
GB/T 35008—2018
6.2.9 四端口输出快速读数据(6BH)
四端口输出快速读数据(6BH) 后跟3字节地址(A23~A0)
和一个冗余字节,每一位在 SCLK 的上
升沿时锁存。存储器中该地址的数据在每个时钟周期内通过 IO3、IO2、IO1、IO0
端输出4位。6BH 指
令时序如图11所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下
一个较高地址。
style="width:9.37329in;height:8.21348in" />
图11 6BH 指令时序图
6.2.10 双端口输入/输出快速读数据(BBH)
双端口输入/输出快速读数据(BBH)
类似于双端口输出快速读数据指令,但他的3字节地址(A23~
A0)和一个"连续读模式"字节在一个时钟周期内,能通过 SI 和 SO
端输入2位。每一位在 SCLK 的上
升沿时锁存,存储器中在该地址的数据每个时钟周期通过SI 和SO 端共输出2位。
BBH 指令时序如图
12所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较高
地址。
GB/T 35008—2018
style="width:10.89329in;height:3.48678in" />
style="width:8.74002in;height:2.91984in" />
图12 BBH 指令时序图 (M7~0=0XH 或 M7~0≠AXH)
双端口输入/输出快速读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置"连 续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一个双端口输入/输出快速读指令 (在CS# 上升又驱动为低电平后)就不需要
BBH 指令代码了,时序如图13所示。如"连续读模式"位 (M7~0) 的值不是AXH,
下一个指令就需要第一个 BBH 指令代码,从而恢复到正常操作。"连续读模
式"复位指令可在发送常规指令前复位(M7~0)。
style="width:7.96657in;height:6.33336in" />
图13 BBH 指令时序图(M7~0=AXH)
GB/T 35008—2018
6.2.11 四端口输入/输出快速读数据(EBH)
四端口输入/输出快速读(EBH)
类似于双端口输入/输出快速读指令,但3字节地址(A23~0)、1
字节"连续读模式"和4个冗余时钟,能在一个时钟周期通过IO3、IO2、IO1、IO0端输入4位。每一位在
SCLK 的上升沿时锁存,器件中在该地址的数据每个时钟周期从
IO3、IO2、IO1、IO0 端共输出4位, EBH
指令时序如图14所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递
增到下一个较高地址。对于EBH 指令,应设置状态寄存器的四端口使能位(QE)。
CS#
SCLK
S](100)
style="width:11.23329in;height:4.78016in" />sO(101)
WPH(IO2)
TOLD#(TO3)
图14 EBH 指令时序图(M7~0=0XH 或 M7~0≠AXH)
四端口输入/输出快速读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置"连 续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一四端口输入/输出快速读指令 (在 CS# 上升又驱动为低电平后)就不需要
EBH 指令代码了,时序如图15所示。如"连续读模式"位 (M7~0) 不是AXH,
下一个指令就需要第一个 EBH 指令代码,从而恢复正常操作。"连续读模式"复
位指令可在发送常规指令前复位(M7~0)。
style="width:9.06004in;height:4.8334in" />
图15 EBH 指令时序图(M7~0=AXH)
6.2.12 四端口输入/输出快速字读数据(E7H)
四端口输入/输出快速字读数据(E7H)
类似于四端口输入/输出快速读指令,但是最低地址位(A0)
GB/T 35008—2018
应为0,并且只有2个冗余时钟。 E7H
指令时序如图16所示。第一个字节的地址可在任何位置,当一
个字节的数据输出后,地址自动递增到下一个较高地址。对于E7H
指令,应设置状态寄存器的四端口
使能位(QE)。
style="width:12.19333in;height:5.01336in" />
图16 E7H 指令时序图(M7~0=0XH 或 M7~0≠AXH)
四端口输入/输出快速字读指令可通过如下方式实现连续读:输入3字节地址(A23~A0)
后,设置 "连续读模式"位(M7~0)。 如"连续读模式"位(M7~0)=AXH,
那么下一四端口输入/输出快速字读 指令(在CS# 上升又驱动为低电平后)就不需要
E7H 指令代码了,时序如图17所示。如“连续读模式” 位(M7~0) 不是 AXH,
下一个指令就需要第一个 EBH 指令代码,从而恢复正常操作。"连续读模式"
复位指令可在发送常规指令前复位(M7~0)。
style="width:9.0399in;height:4.88664in" />
图17 E7H 指令时序图(M7~0=AXH)
6.2.13 设置循环读(77H)
设置循环读(77H)
与四端口输入/输出快速读和四端口输入/输出字快速读指令组合在一起,可在
单端口模式下访问一个页中固定长度的8/16/32/64字节部分。77H
指令时序如图18所示。
GB/T 35008—2018
style="width:9.0001in;height:5.09344in" />
图18 77H 指令时序图
循环读模式中W6~W4 的定义见表5。如W6~W4
通过设置循环读指令进行了设置,后续的所有
四端口输入/输出快速读和四端口输入/输出字快速读指令将根据 W6~W4
的设置来访问页中的8/
16/32/64字节部分。如要退出循环读功能回到正常的读操作,应发送一个设置循环读指令来设置
W4
=1。
表 5 循环读模式中 W6~W4 定义
|
|
|
||
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.2.14 页编程(02H)
页编程(02H)
用于编程存储器。发送页编程指令前,写使能指令应预先执行来设置写使能锁存位
(WEL)。
页编程在CS# 驱动为低电平后开始,SI
端输入页编程指令码、3个字节地址和至少一个字节的数
据。如最低8位地址位(A7~A0)
不是全零,所有超出当前页的传输数据,从该页的起始地址(最低8位
地址位(A7~A0) 都是零)开始编程。该时序的整个持续时间内CS#
应为低电平。02H 指令时序如图
19所示。如超过256个字节发送给器件,开始锁存的数据被丢弃,保证最后的256个字节数据被正确
地编写在同一页中。如少于256个字节的数据发送给器件,他会被编写在指定的地址中,而对当前页中
的其他字节没有影响。当最后一个字节的数据的第8位被锁存后,CS#
应驱动为高电平,否则不执行
页编程指令。
GB/T 35008—2018
一旦 CS#
驱动高,定时页编程周期开始。在页编程进行时,可读状态寄存器来检查写进行位
(WIP) 的值。定时页编程周期内WIP
为1,结束后为0。在周期结束前的某个不确定的时间,写使能锁
存位(WEL) 被复位。
页编程指令对块保护的页不执行操作。
style="width:11.52656in;height:5.10664in" />
图19 02H 指令时序图
6.2.15 四端口页编程(32H)
四端口页编程(32H) 用于使用IO0、IO1、IO2 和 IO3
四个端口编程存储器。要使用四端口编程指
令,应设置状态寄存器的四端口使能位(QE=1)。
发送页编程指令前,写使能指令应预先执行来设置写
使能锁存位(WEL)。 四端口使能指令在CS# 为低电平时输入,IO
端跟随着指令代码32H、3 字节地址
和至少1字节数据。32H 指令时序如图20所示。
如超过256个字节发送给器件,开始锁存的数据被丢弃,保证最后的256个字节数据被正确地编写
在同一页中。如少于256个字节的数据发送给器件,他会被编写在指定的地址中,而对当前页中的其他
字节没有影响。当最后一个字节的数据的第8位被锁存后,CS#
应驱动为高电平,否则不执行页编程
指令。
一旦 CS#
驱动高,定时四端口页编程周期开始。在四端口页编程进行时,可读状态寄存器来检查
写进行位(WIP) 的值。定时四端口页编程周期内 WIP
为1,结束后为0。在周期结束前的某个不确定
的时间,写使能锁存位(WEL) 被复位。
四端口页编程指令对块保护的页不执行操作。
GB/T 35008—2018
style="width:11.96001in;height:9.63336in" />
图20 32H 指令时序图
6.2.16 扇区擦除(20H)
扇区擦除(20H)
是用来擦除选定扇区的所有数据。写使能指令应预先执行来设置写使能锁存位
(WEL)。20H 指令在CS# 为低电平时输入,SI
端跟指令代码和3字节地址。扇区内的任何地址对于
扇区擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。20H
指令时序如图21所示。
当最后地址字节的第8位被锁存后,CS#
应驱动为高电平,否则不执行扇区擦除指令。 一旦 CS#
驱动为高电平,定时扇区擦除周期启动。在扇区擦除进行时,可读状态寄存器来检查写进行位(WIP)
的 值。定时擦除周期内 WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存位
(WEL) 被复位。
扇区擦除指令对块保护的区域不执行操作。
style="width:8.93323in;height:2.5399in" />
图 2 1 20H 指令时序图
GB/T 35008—2018
6.2.17 32K 块擦除(52H)
32K 块擦除(52H)
是用来擦除选定块的所有数据。写使能指令应预先执行来设置写使能锁存位
(WEL)。52H 指令在 CS# 为低电平时输入,SI
端跟指令代码和3字节地址。块内的任何地址对于
32K 块擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。52H
指令时序如图22所示。
当最后地址字节的第8位被锁存后,CS# 应驱动为高电平,否则不执行32K
块擦除指令。 一旦CS# 驱动为高电平,定时32K 块擦除周期启动。在32K
块擦除进行时,可读状态寄存器来检查写进行位 (WIP) 的值。定时擦除周期内WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存
位(WEL) 被复位。
32K 块擦除指令对块保护的区域不执行操作。
style="width:9.0399in;height:2.48666in" />
图22 52H 指令时序图
6.2.18 64K 块擦除(D8H)
64K 块擦除(D8H)
是用来擦除选定块的所有数据。写使能指令应预先执行来设置写使能锁存位
(WEL)。64K 块擦除指令在 CS# 为低电平时输入,SI
端跟着指令代码和3字节地址。块内的任何地 址对于64K
块擦除指令都是有效地址。整个时序周期内CS# 应驱动为低电平。 D8H
指令时序如图
23所示。
当最后地址字节的第8位被锁存后,CS# 应驱动为高电平,否则不执行64K
块擦除指令。 一旦CS# 驱动为高电平,定时64K 块擦除周期启动。在64K
块擦除进行时,可读状态寄存器来检查写进行位 (WIP) 的值。定时擦除周期内
WIP 为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存
位(WEL) 被复位。
64K 块擦除指令对块保护的区域不执行操作。
style="width:8.97996in;height:2.45344in" />
图23 D8H 指令时序图
6.2.19 全器件擦除(C7/60H)
全器件擦除(C7/60H)
是用来擦除器件存储的所有数据。写使能指令应预先执行来设置写使能锁
存位(WEL)。 全器件擦除指令在CS# 为低电平时输入,SI
端跟指令代码。整个时序周期内CS# 应驱
动为低电平。 C7/60H 指令时序如图24所示。
当指令代码的第8位被锁存后,CS#
应驱动为高电平,否则不执行全器件擦除指令。 一旦CS# 驱
GB/T 35008—2018
动为高电平,定时全器件擦除周期启动。在全器件擦除进行时,可读状态寄存器来检查写进行位(WIP)
的值。定时全器件擦除周期内WIP
为1,完成后为0。在周期结束前的某个不确定的时间,写使能锁存
位(WEL) 被复位。
如器件中有区域被保护,全器件擦除指令不执行。
style="width:5.57338in;height:2.27348in" />
图24 C7/60H 指令时序图
6.2.20 深度休眠(B9H)
深度休眠(B9H)
可使器件处于深度休眠模式(最低耗电模式)。当器件没有使用时,他可用来作为
一个额外的软件保护机制,因为在此模式下,器件忽略所有的写、编程和擦除指令。驱动
CS# 为高电
平,取消选定器件,使器件处于待机模式。深度休眠模式只能通过执行深度休眠指令来实现。
一旦器件
进入深度休眠模式,除了从深度休眠模式退出并读器件标识指令外,其他所有指令都被器件忽略。从深
度休眠模式退出并读器件标识指令使器件从深度休眠模式下退出,也可通过 SO
端输出器件标识。
深度休眠模式在掉电时自动停止,器件上电后处于待机模式。深度休眠指令在CS#
为低电平时输
入,SI 端跟随着指令代码。整个时序周期内CS# 应驱动为低电平。 B9H
指令时序如图25所示。
当指令代码的第8位被锁存后,CS# 应驱动为高电平,否则不执行深度休眠指令。
一旦 CS# 驱动
为高电平,需要延迟时间tpp使电源电流减为一定的值,进入深度休眠模式。当进行擦除、编程或者写循
环时,深度休眠指令被拒绝,对正在进行的循环没有任何影响。
style="width:9.31995in;height:2.54012in" />
图25 B9H 指令时序图
6.2.21 从深度休眠模式中退出并读器件标识(ABH)
从深度休眠模式中退出并读器件标识(ABH)
是一个多功能指令,他能用来使器件从深度休眠模式
中退出,并读取器件的标识。该指令通过驱动CS#
为低电平,输入指令代码并驱动CS# 为高电平来实 现,ABH
指令时序如图26所示。在器件恢复正常运行并接收其他指令之前,从休眠中退出需要tgrs时
间周期。在tResi期间内CS# 应保持为高电平。
如不是在深度休眠模式下,只是为了获得器件标识而使用该指令,应驱动CS#
为低电平,然后输入 指令代码 ABH 和3个冗余字节。器件标识在 SCLK
的下降沿输出,最高有效位先输出,时序如图26
所示。器件标识可连续读,CS# 为高电平时结束该指令。
如要使器件从深度休眠状态中退出并获得器件标识,指令与之前描述的相似,只是CS#
驱动为高 电平后应保持
tkEs时间为高电平。这个周期结束后,器件恢复正常运行并接收其他指令,时序如图27
所示。
GB/T 35008—2018
如在擦除、编程或者写循环进行时发送从 ABH
指令,该指令无效,而对正在进行的循环没有任何
影响。
style="width:9.40665in;height:2.55332in" />
图26 ABH 指令时序图(退出深度休眠模式)
style="width:11.87332in;height:3.4001in" />
图27 ABH 指令时序图(退出深度休眠模式并读标识)
6.2.22 读制造商标识/器件标识(90H)
读制造商标识/器件标识(90H) 是 ABH
的替代,他提供了制造商标识和器件标识。
驱动CS# 为低电平,输入指令代码90H 和24位地址000000H。
然后制造商标识和器件标识就在 SCLK 的下降沿输出,最高有效位先输出,90H
指令时序如图28所示。如24位地址设为000001H, 则
先读器件标识。
style="width:8.86668in;height:5.96002in" />
图28 90H 指令时序图
GB/T 35008—2018
6.2.23 读标识(9FH)
读标识(9FH)
允许读8位制造商标识和2字节的器件标识。器件标识第一个字节表示存储类型,
第二个字节表示存储容量。如正在进行擦除或编程循环,读标识指令不执行,对正在进行的循环也没有
影响。当器件处于深度休眠模式下时,不能发送读标识指令。
驱动CS# 为低电平选定器件,输入8位指令代码9FH。
然后24位标识就在时钟的下降沿输出,
9FH 指令时序如图29所示。数据输出的某一时间点驱动 CS#
为高电平,读标识指令就被终止。当 CS#
驱动为高电平后,器件处于待机模式。
一旦进入待机模式,器件等待被选中,以便能接收指令码执行指令。
style="width:8.83993in;height:6.02008in" />
图29 9FH 指令时序图
6.2.24 编程/擦除挂起(75H)
编程/擦除挂起(75H)
允许系统中断页编程或扇区/块擦除操作,从其他扇区或者块读取数据。编
程/擦除中断期间,指令01H,44H,42H,20H,52H,D8H,C7H,60H,02H,32H
等都不允许执行。编
程/擦除挂起只是在页编程或扇区/块擦除操作期间有效。挂起编程/擦除操作的最大时间为
tsus。
当页编程或扇区/块擦除操作正在进行时,只有在状态寄存器的 SUS 等 于 0 且
WIP 等于1时,器 件才能接受编程/擦除挂起指令。如 SUS 等 于 1 或 WIP
等于0,器件不接收编程/擦除挂起指令。在 tsus期间内WIP
将由1变为0,编程/擦除挂起后,SUS 将立即由0设为1。挂起期间的断电会使器件复
位,并从挂起状态退出。75H 指令时序如图30所示。
style="width:8.59323in;height:3.25996in" />
图30 编程/擦除挂起
GB/T 35008—2018
6.2.25 编程/擦除恢复(7AH)
编程/擦除挂起后,使用7AH 指令恢复编程或扇区/块擦除操作。发送7AH
指令后,状态寄存器
中的 SUS 立即由1变为0 ,W IP
将由0变为1,完成扇区/块擦除或页编程操作。除非编程/擦除挂起是
有效的,否则编程/擦除恢复指令将无效。7AH 指令时序如图31所示。
style="width:7.88665in;height:3.09342in" />
图31 7AH 指令时序图
6.2.26 擦除安全寄存器(44H)
安全寄存器是从主存储阵列中独立出来的,可由系统厂商存储安全性和其他重要信息。擦除安全
寄存器(44H)
类似于扇区/块擦除指令。应预先执行写使能指令来设置写使能锁存位(WEL)。
当指令和地址锁存后,CS# 应驱动为高电平,否则不执行擦除安全寄存器指令。
一旦 CS# 为高电 平,定时擦除安全寄存器周期开始。44H
指令时序如图32所示。当擦除安全寄存器周期正在进行时,
可读状态寄存器来检查写进行位(WIP)
的值。定时擦除安全寄存器周期中,写进行位(WIP) 为1,结束
后为0。在循环完成前的某个不确定时间,写锁存位(WEL)
被复位。状态寄存器中的安全锁存位(LB)
为一次性可编程位,用来保护安全寄存器。 一旦LB
位设置为1,安全寄存器将被永久性的锁定,擦除安
全寄存器指令不执行。
style="width:8.96658in;height:2.48006in" />
图32 44H 指令时序图
6.2.27 编程安全寄存器(42H)
编程安全寄存器(42H)
类似于页编程指令。发送编程安全寄存器指令之前应预先执行写使能指令
来设置写使能锁存位(WEL)。
编程安全寄存器由驱动CS# 为低电平开始,SI
端输入指令代码42H、3字节地址和至少1个字节 的数据。42H
指令时序如图33所示。 一旦CS#
为高电平,定时编程安全寄存器周期开始。当编程安
全寄存器周期正在进行时,可读状态寄存器来检查写进行位(WIP)
的值。定时编程安全寄存器周期中,
写进行位(WIP) 为1,结束后为0。在循环完成前的某个不确定时间,写锁存位(WEL)
被复位。
如状态寄存器中的安全锁存位(LB)
设置为1,安全寄存器被永久性的锁定,编程安全寄存器指令将
被忽略。
style="width:0.22011in;height:0.40678in" />class="anchor">GB/T 35008—2018
style="width:11.48056in;height:5.06806in" />
图 3 3 42H 指令时序图
6.2.28 读安全寄存器(48H)
读安全寄存器(48H)
类似于快速读指令。指令码后跟3字节地址和1个冗余字节,每一位都是在 SCLK
的上升沿时锁存。然后器件中该地址的数据就从 SO 端 在 SCLK
的下降沿输出,48H 指令时序
如图34所示。第一个字节的地址可在任何位置,当一个字节的数据输出后,地址自动递增到下一个较
高地址。 一旦地址到达寄存器的最大地址时,就复位到00H, 驱动 CS#
为高电平来结束指令。
style="width:8.82656in;height:5.9268in" />
图34 48H 指令时序图
6.2.29 复位使能(66H) 和复位(99H)
如复位指令被接受,任何正在进行的内部操作将被终止,器件将返回其默认的开机状态,并失去所
有当前易失性的设置,如易失性状态寄存器位、写使能锁存状态位(WEL)、
编程/擦除挂起状态、读参数
GB/T 35008—2018
设置(P7~P0)、 连续读取模式位设置(M7~M0) 和循环位设置(W6~W4)。
复位指令(99H) 执行前,应先执行复位使能指令(66H), 时序如图35所示。
一旦器件接受复位指 令,该设备将需要
tesr的时间来复位。在此期间不接受任何指令。当器件接受复位指令时,如有正在进
行或挂起的内部擦除/编程操作时,可能损坏数据。推荐发送复位指令前,检查状态寄存器中的
SUS 位
和 BUSY 位。
style="width:10.21345in;height:2.58676in" />
图35 66H 和99H 指令时序图
6.2.30 器件自毁(A5H-FAH-A5H-OAH-10H)
器件执行自毁指令后,不再接受任何指令。驱动 CS# 为低电平,连续发送
A5H-FAH-A5H-0AH
指令,每个指令码发送后应驱动 CS# 为高电平;再发送10H
指令。指令执行完毕后,器件完成自毁。
A5H-FAH-A5H-0AH-10H 指令时序如图36所示。
style="width:11.51334in;height:2.48666in" />
高阳
SO
style="width:11.46661in;height:3.0932in" />
图36 A5H-FAH-A5H-OAH-10H 指令时序图
6.2.31 读参数表(5AH)
参数表描述了器件的功能、特性和容量,主机系统可发送指令读参数指令(5AH)
查询参数表。
GB/T 35008—2018
style="width:8.6in;height:5.99324in" />CS#
32 33 34 35 36 37 38 39 40 41 12 43 14 15 46 17
SCLK
冗余字节
S1
输出数据1
SO
6 5 4 3 2 0 6 5
最高有效位 最高有效位
图37 5AH 指令时序图
指令格式模式是指指令/地址/数据输入的形式。器件是否支持某种指令模式,应在表7中说明。
模式描述如下:
a)
1-1-1模式,指令/地址/数据分别是单端口-单端口-单端口输入,时序如图38所示。
b)
1-1-2模式,指令/地址是按单端口输入,而数据是按双端口输入,时序如图39所示。
c) 1-1-4
模式,指令/地址是按单端口输入,而数据是按四端口输入,时序如图40所示。
style="width:9.55328in;height:2.7533in" />
图38 1-1-1模式
style="width:8.37328in;height:2.80676in" />
图39 1-1-2模式
GB/T 35008—2018
style="width:8.09375in;height:4.47361in" />
图40 1-1-4模式
参数表头位于参数表的首地址,他显示了参数列表的结构、参数列表的修订号和参数头的数目。参
数表头定义见表6。
表 6 参数表头定义
|
|
|
|
---|---|---|---|
|
|
|
|
|
|||
|
|||
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
参数列表包含描述器件的特性和容量等代码信息。参数列表定义见表7。
GB/T 35008—2018
表 7 参数列表的定义
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0=不支持 1=支持 |
|
|
|
|
|
|
0=不支持 1=支持 |
|
|
|
|
GB/T 35008—2018
表 7 ( 续 )
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
GB/T 35008—2018
(资料性附录)
块保护描述
以 6 4M 容量的器件为例,块保护描述见表 A.1。
表 A.1 块保护描述
|
|
|
|
|
|
|
---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GB/T 35008—2018
表 A.1 ( 续 )
|
|
|
|
|
|
|
---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
更多内容 可以 GB-T 35008-2018 串行NOR型快闪存储器接口规范. 进一步学习